Health Records topic

Health Records

The Health Connector data model is built on three pillars:

  1. Health Records: The actual data points (e.g., a weight measurement, an excercise session).
  2. Measurement Units: Type-safe values that handle unit conversions automatically.
  3. Health Data Types: Descriptors that define the properties and capabilities of each record type.

This design ensures that your code is compile-time type-safe, preventing common errors like using the wrong unit or trying to aggregate unsupported data types.

Record Hierarchy

Health records are organized into a clear hierarchy based on their temporal characteristics:

  1. Instant Records: Measurements taken at a single point in time (e.g., WeightRecord, BloodGlucoseRecord).
  2. Interval Records: Activities or measurements spanning a duration (e.g., StepsRecord, SleepSessionRecord).
  3. Series Records: Multiple timestamped samples collected within a time interval (e.g., HeartRateSeriesRecord).

Common Properties

HealthRecordId

A type-safe identifier for health records:

  • New records: Use HealthRecordId.none when creating a record to be written.
  • Existing records: Contains the platform-assigned UUID when reading from the store.
// New record
final newRecord = WeightRecord(id: HealthRecordId.none, ...);

// Existing record
final existingId = HealthRecordId('550e8400-e29b-41d4-a716-446655440000');

Metadata

Describes the context of the record:

  • Recording method: Manual entry (Metadata.manualEntry()), automatic ( Metadata.automaticallyRecorded()), or unknown.
  • Device info: Device manufacturer and model (optional for manual/unknown, required for others).

Timestamps & Timezones

  • Instant Records: Single time property and zoneOffsetSeconds.
  • Interval/Series Records: startTime, endTime, startZoneOffsetSeconds, and endZoneOffsetSeconds.

Health Record Examples

Instant Record: Weight

final weightRecord = WeightRecord(
  id: HealthRecordId.none,
  time: DateTime.now(),
  zoneOffsetSeconds: 3600, // UTC+1
  weight: Mass.kilograms(72.5),
  metadata: Metadata.manualEntry(),
);

Interval Record: Steps

final stepsRecord = StepsRecord(
  id: HealthRecordId.none,
  startTime: DateTime.now().subtract(Duration(hours: 1)),
  endTime: DateTime.now(),
  startZoneOffsetSeconds: 3600,
  endZoneOffsetSeconds: 3600,
  count: Number(1500),
  metadata: Metadata.automaticallyRecorded(),
);

Series Record: Heart Rate

final heartRateSeries = HeartRateSeriesRecord(
  id: HealthRecordId.none,
  startTime: DateTime.now().subtract(Duration(minutes: 10)),
  endTime: DateTime.now(),
  startZoneOffsetSeconds: 3600,
  endZoneOffsetSeconds: 3600,
  samples: [
    HeartRateSample(
      time: DateTime.now().subtract(Duration(minutes: 10)),
      rate: Frequency.perMinute(65),
    ),
    HeartRateSample(
      time: DateTime.now(),
      rate: Frequency.perMinute(80),
    ),
  ],
  metadata: Metadata.automaticallyRecorded(),
);

Complex Record: Nutrition

final nutritionRecord = NutritionRecord(
  id: HealthRecordId.none,
  startTime: DateTime.now(),
  endTime: DateTime.now().add(Duration(minutes: 30)),
  mealType: MealType.lunch,
  energy: Energy.kilocalories(650),
  protein: Mass.grams(35),
  totalCarbohydrate: Mass.grams(75),
  metadata: Metadata.manualEntry(),
);

Measurement Units

The SDK uses immutable, type-safe measurement unit classes that handle automatic conversions. This prevents mixing incompatible units (e.g., adding meters to kilograms) and eliminates conversion errors.

Quick Reference

Type Units Base Unit Common Use Cases
Mass kg, g, lb, oz kg Body weight, nutrition
Energy kcal, cal, kJ, J kcal Calories burned, nutrition
Frequency Hz, events/min events/min Heart rate, respiratory rate
Length m, km, cm, mm, mi, ft, in m Distance, height
Volume L, mL, fl oz (US/Imp) L Hydration, fluids
Temperature °C, °F, K °C Body temperature
Pressure mmHg, Pa mmHg Blood pressure
BloodGlucose mmol/L, mg/dL mmol/L Glucose monitoring
Number value N/A Steps, counts
Percentage decimal, whole decimal Body fat, O₂ saturation
Power W, kW W Exercise power
TimeDuration s, min, h s Sleep, exercise duration
Velocity m/s, km/h, mph m/s Speed

Usage Example

// Mass
final weight = Mass.pounds(155.4);
print(weight.inKilograms); // ~70.5

// Length
final height = Length.feet(5) + Length.inches(10);
print(height.inCentimeters); // ~177.8

// Energy
final energy = Energy.kilocalories(2000);
print(energy.inKilojoules); // ~8368.0

Health Data Types

Health Connector provides strongly-typed access to health data. Each HealthDataType is a constant that links a specific record class to its measurement unit and platform capabilities.

Type Safety

All health data operations are compile-time type-safe through generic constraints:

// Type parameters enforce correct pairing of data types, records, and units
class HealthDataType<R extends HealthRecord, U extends MeasurementUnit> {
  // ...
}

// Example: Weight data type is constrained to `WeightRecord` and `Mass`
final class WeightDataType extends HealthDataType<WeightRecord, Mass> {
  // ...
}

This design prevents runtime errors by ensuring:

  • Records match their data types.
  • Measurement units match their data types.
  • Aggregation operations are only available for supported types.

Capabilities

Each data type declares its capabilities through interface implementation. This allows you to check what operations are supported at compile time.

  • Readable: Can be read using readById or readInTimeRange.
  • Writeable: Can be written; exposes a writePermission.
  • Aggregatable: Supports aggregation operations like Sum, Avg, Min, Max.
  • Deletable: Can be deleted by ID or time range.

Platform Support

  • iOS HealthKit: Maps to native types like HKQuantityType, HKCategoryType, HKCorrelationType, and HKWorkoutType.
  • Android Health Connect: Maps to native Health Connect record types (Instant, Interval, Series).

Classes

ActiveEnergyBurnedDataType
Active energy burned data type.
ActiveEnergyBurnedRecord
Represents active energy burned over a time interval.
ActivityIntensityDataType
Activity intensity data type.
ActivityIntensityRecord
Represents an activity intensity measurement over a time interval.
AlcoholicBeveragesDataType
Alcoholic beverages data type.
AlcoholicBeveragesRecord
Represents an alcoholic beverages consumption record over a time interval.
AtrialFibrillationBurdenDataType
Atrial Fibrillation Burden data type.
AtrialFibrillationBurdenRecord
Represents an Atrial Fibrillation Burden measurement over a time interval.
BasalBodyTemperatureDataType
Basal body temperature data type.
BasalBodyTemperatureRecord
Represents a basal body temperature measurement at a specific point in time.
BasalEnergyBurnedDataType
Represents the Basal Energy Burned health data type.
BasalEnergyBurnedRecord
Represents basal energy burned over a time interval.
BasalMetabolicRateDataType
Represents the Basal Metabolic Rate health data type.
BasalMetabolicRateRecord
Represents a basal metabolic rate (BMR) record at a specific point in time.
BloodAlcoholContentDataType
Blood alcohol content data type.
BloodAlcoholContentRecord
Represents a blood alcohol content record.
BloodGlucose
Represents a blood glucose measurement with automatic unit conversion.
BloodGlucoseDataType
Blood glucose data type.
BloodGlucoseRecord
Represents a single blood glucose measurement.
BloodPressureDataType
Composite blood pressure data type.
BloodPressureRecord
Represents a composite blood pressure measurement at a specific point in time.
BodyFatPercentageDataType
Body fat percentage data type.
BodyFatPercentageRecord
Represents a body fat percentage measurement at a specific point in time.
BodyMassIndexDataType
Body mass index (BMI) data type.
BodyMassIndexRecord
Represents a body mass index (BMI) measurement at a specific point in time.
BodyTemperatureDataType
Body temperature data type.
BodyTemperatureRecord
Represents a body temperature measurement at a specific point in time.
BodyWaterMassDataType
Body water mass data type.
BodyWaterMassRecord
Represents a body water mass record.
BoneMassDataType
Bone mass data type.
BoneMassRecord
Represents a bone mass record.
CervicalMucusDataType
Cervical mucus data type.
CervicalMucusRecord
Represents cervical mucus observation at a specific point in time.
ContraceptiveDataType
Represents the contraceptive usage health data type.
ContraceptiveRecord
Represents a contraceptive usage period.
CrossCountrySkiingDistanceDataType
Cross-country skiing distance data type.
CrossCountrySkiingDistanceRecord
Represents cross-country skiing distance over a time interval.
CyclingDistanceDataType
Cycling distance data type.
CyclingDistanceRecord
Represents cycling distance over a time interval.
CyclingPedalingCadenceDataType
Cycling pedaling cadence measurement data type.
CyclingPedalingCadenceRecord
Represents a single cycling pedaling cadence measurement.
CyclingPedalingCadenceSample
Represents a single cycling pedaling cadence sample at a specific point in time.
CyclingPedalingCadenceSeriesDataType
Health data type for Android cycling pedaling cadence series records.
CyclingPedalingCadenceSeriesRecord
Represents a series of cycling pedaling cadence measurements over a time interval.
CyclingPowerDataType
Cycling power data type.
CyclingPowerRecord
Represents a cycling power measurement at a specific point in time.
DiastolicBloodPressureDataType
Diastolic blood pressure data type.
DiastolicBloodPressureRecord
Represents a diastolic blood pressure measurement at a specific point in time.
DietaryBiotinDataType
Biotin (Vitamin B7) data type.
DietaryBiotinRecord
Represents a biotin (vitamin B7) measurement from food at a specific point in time.
DietaryCaffeineDataType
Caffeine data type.
DietaryCaffeineRecord
Represents a caffeine measurement from food at a specific point in time.
DietaryCalciumDataType
Calcium data type.
DietaryCalciumRecord
Represents a calcium measurement from food at a specific point in time.
DietaryCholesterolDataType
Cholesterol data type.
DietaryCholesterolRecord
Represents a cholesterol measurement from food at a specific point in time.
DietaryEnergyConsumedDataType
Energy data type.
DietaryEnergyConsumedRecord
Represents an energy (calorie) measurement from food at a specific point in time.
DietaryFiberNutrientDataType
Dietary fiber data type.
DietaryFiberRecord
Represents a dietary fiber measurement from food at a specific point in time.
DietaryFolateDataType
Folate (Vitamin B9) data type.
DietaryFolateRecord
Represents a folate (vitamin B9) measurement from food at a specific point in time.
DietaryIronDataType
Iron data type.
DietaryIronRecord
Represents an iron measurement from food at a specific point in time.
DietaryMagnesiumDataType
Magnesium data type.
DietaryMagnesiumRecord
Represents a magnesium measurement from food at a specific point in time.
DietaryManganeseDataType
Manganese data type.
DietaryManganeseRecord
Represents a manganese measurement from food at a specific point in time.
DietaryMonounsaturatedFatDataType
Monounsaturated fat data type.
DietaryMonounsaturatedFatRecord
Represents a monounsaturated fat measurement from food at a specific point in time.
DietaryNiacinDataType
Niacin (Vitamin B3) data type.
DietaryNiacinRecord
Represents a niacin (vitamin B3) measurement from food at a specific point in time.
DietaryPantothenicAcidDataType
Pantothenic Acid (Vitamin B5) data type.
DietaryPantothenicAcidRecord
Represents a pantothenic acid (vitamin B5) measurement from food at a specific point in time.
DietaryPhosphorusDataType
Phosphorus data type.
DietaryPhosphorusRecord
Represents a phosphorus measurement from food at a specific point in time.
DietaryPolyunsaturatedFatDataType
Polyunsaturated fat data type.
DietaryPolyunsaturatedFatRecord
Represents a polyunsaturated fat measurement from food at a specific point in time.
DietaryPotassiumDataType
Potassium data type.
DietaryPotassiumRecord
Represents a potassium measurement from food at a specific point in time.
DietaryProteinDataType
Protein data type.
DietaryProteinRecord
Represents a protein measurement from food at a specific point in time.
DietaryRiboflavinDataType
Riboflavin (Vitamin B2) data type.
DietaryRiboflavinRecord
Represents a riboflavin (vitamin B2) measurement from food at a specific point in time.
DietarySaturatedFatDataType
Saturated fat data type.
DietarySaturatedFatRecord
Represents a saturated fat measurement from food at a specific point in time.
DietarySeleniumDataType
Selenium data type.
DietarySeleniumRecord
Represents a selenium measurement from food at a specific point in time.
DietarySodiumDataType
Sodium data type.
DietarySodiumRecord
Represents a sodium measurement from food at a specific point in time.
DietarySugarDataType
Sugar data type.
DietarySugarRecord
Represents a sugar measurement from food at a specific point in time.
DietaryThiaminDataType
Thiamin (Vitamin B1) data type.
DietaryThiaminRecord
Represents a thiamin (vitamin B1) measurement from food at a specific point in time.
DietaryTotalCarbohydrateDataType
Total carbohydrate data type.
DietaryTotalCarbohydrateRecord
Represents a total carbohydrate measurement from food at a specific point in time.
DietaryTotalFatDataType
Total fat data type.
DietaryTotalFatRecord
Represents a total fat measurement from food at a specific point in time.
DietaryVitaminADataType
Vitamin A data type.
DietaryVitaminARecord
Represents a vitamin A measurement from food at a specific point in time.
DietaryVitaminB12DataType
Vitamin B12 (Cobalamin) data type.
DietaryVitaminB12Record
Represents a vitamin B12 measurement from food at a specific point in time.
DietaryVitaminB6DataType
Vitamin B6 (Pyridoxine) data type.
DietaryVitaminB6Record
Represents a vitamin B6 measurement from food at a specific point in time.
DietaryVitaminCDataType
Vitamin C (Ascorbic Acid) data type.
DietaryVitaminCRecord
Represents a vitamin C measurement from food at a specific point in time.
DietaryVitaminDDataType
Vitamin D data type.
DietaryVitaminDRecord
Represents a vitamin D measurement from food at a specific point in time.
DietaryVitaminEDataType
Vitamin E data type.
DietaryVitaminERecord
Represents a vitamin E measurement from food at a specific point in time.
DietaryVitaminKDataType
Vitamin K data type.
DietaryVitaminKRecord
Represents a vitamin K measurement from food at a specific point in time.
DietaryZincDataType
Zinc data type.
DietaryZincRecord
Represents a zinc measurement from food at a specific point in time.
DistanceActivityDataType<R extends DistanceActivityRecord>
Base class for activity-specific distance health data types.
DistanceActivityRecord
Base class for activity-specific distance records.
DistanceDataType
Distance data type.
DistanceRecord
Represents a distance measurement over a time interval.
DownhillSnowSportsDistanceDataType
Downhill snow sports distance data type.
DownhillSnowSportsDistanceRecord
Represents downhill snow sports distance over a time interval.
ElectrodermalActivityDataType
Electrodermal activity data type.
ElectrodermalActivityRecord
Represents an electrodermal activity record over a time interval.
ElevationGainedDataType
Elevation gained data type.
ElevationGainedRecord
Captures the elevation gained by the user.
Energy
Represents an energy measurement with automatic unit conversion.
EnvironmentalAudioExposureDataType
Represents the environmental audio exposure health data type.
EnvironmentalAudioExposureEventDataType
Represents the environmental audio exposure event health data type.
EnvironmentalAudioExposureEventRecord
A health record representing an environmental audio exposure event.
EnvironmentalAudioExposureRecord
A health record representing the environmental audio exposure.
ExerciseRoute
Represents a GPS route recorded during an exercise session.
ExerciseRouteLocation
Represents a single location point in an exercise route.
ExerciseSessionDataType
Exercise session data type.
ExerciseSessionEvent
Base class for all exercise session events.
ExerciseSessionInstantEvent
Base class for exercise session events that occur at a single point in time.
ExerciseSessionIntervalEvent
Base class for exercise session events that have a start and end time.
ExerciseSessionLapEvent
Represents a lap within an exercise session.
ExerciseSessionMarkerEvent
Represents an arbitrary marker point during an exercise.
ExerciseSessionRecord
Represents a physical exercise session.
ExerciseSessionSegmentEvent
Represents a segment (exercise phase) within a session.
ExerciseSessionStateTransitionEvent
Represents exercise session pause/resume state transitions.
ExerciseTimeDataType
Apple Exercise Time data type.
ExerciseTimeRecord
Represents an Apple Exercise Time measurement over a time interval.
FloorsClimbedDataType
Floors climbed data type.
FloorsClimbedRecord
Represents floors climbed over a time interval.
ForcedExpiratoryVolumeDataType
Forced expiratory volume data type.
ForcedExpiratoryVolumeRecord
Represents a Forced Expiratory Volume, 1st Second (FEV1) measurement.
ForcedVitalCapacityDataType
Forced vital capacity data type.
ForcedVitalCapacityRecord
Represents a Forced Vital Capacity (FVC) measurement.
Frequency
Represents a frequency measurement with automatic unit conversion.
HeadphoneAudioExposureDataType
Represents the headphone audio exposure health data type.
HeadphoneAudioExposureEventDataType
Represents the headphone audio exposure event health data type.
HeadphoneAudioExposureEventRecord
A health record representing a headphone audio exposure event.
HeadphoneAudioExposureRecord
A health record representing headphone audio exposure.
HealthDataType<R extends HealthRecord, U extends MeasurementUnit>
HealthDataType represents different kinds of health and fitness data that can be read from or written to health platforms.
HealthRecord
Base class for all health records.
HeartRateDataType
Heart rate measurement data type.
HeartRateRecord
Represents a single heart rate measurement.
HeartRateRecoveryOneMinuteDataType
Heart rate recovery one minute health data type.
HeartRateRecoveryOneMinuteRecord
Represents a heart rate recovery measurement over a one-minute interval.
HeartRateSample
Represents a single heart rate measurement at a specific point in time.
HeartRateSeriesDataType
Health data type for Android heart rate series records.
HeartRateSeriesRecord
Represents a series of heart rate measurements over a time interval.
HeartRateVariabilityRMSSDDataType
Heart rate variability (RMSSD) data type.
HeartRateVariabilityRMSSDRecord
Represents a heart rate variability (RMSSD) record.
HeartRateVariabilitySDNNDataType
Heart rate variability (SDNN) data type.
HeartRateVariabilitySDNNRecord
Represents a heart rate variability (SDNN) measurement at a point in time.
HeightDataType
Body height data type.
HeightRecord
Represents a body height measurement at a specific point in time.
HighHeartRateEventDataType
Represents the high heart rate event data type.
HighHeartRateEventRecord
Represents a high heart rate event record.
HydrationDataType
Health data type for hydration (water intake) information.
HydrationRecord
Represents a hydration (water intake) measurement over a time interval.
InfrequentMenstrualCycleEventDataType
Represents the infrequent menstrual cycle event data type.
InfrequentMenstrualCycleEventRecord
Represents an infrequent menstrual cycle event record.
InhalerUsageDataType
Inhaler usage data type.
InhalerUsageRecord
Represents an inhaler usage record over a time interval.
InstantHealthRecord
Base health record class representing a measurement at a single point in time.
InsulinDeliveryDataType
Insulin delivery data type.
InsulinDeliveryRecord
Represents a record of insulin delivery.
IntermenstrualBleedingDataType
Intermenstrual bleeding data type.
IntermenstrualBleedingRecord
Represents an intermenstrual bleeding occurrence at a specific point in time.
IntervalHealthRecord
Base health record class that spans a duration of time.
IrregularHeartRhythmEventDataType
Represents the irregular heart rhythm event data type.
IrregularHeartRhythmEventRecord
Represents an irregular heart rhythm event record.
IrregularMenstrualCycleEventDataType
Represents the irregular menstrual cycle event data type.
IrregularMenstrualCycleEventRecord
Represents an irregular menstrual cycle event record.
LactationDataType
Lactation data type.
LactationRecord
A record representing a lactation event.
LeanBodyMassDataType
Lean body mass data type.
LeanBodyMassRecord
Represents a lean body mass measurement at a specific point in time.
Length
Represents a length measurement with automatic unit conversion.
LowCardioFitnessEventDataType
Represents the low cardio fitness event health data type.
LowCardioFitnessEventRecord
Represents a low cardio fitness event.
LowHeartRateEventDataType
Represents the low heart rate event data type.
LowHeartRateEventRecord
Represents a low heart rate event record.
Mass
Represents a mass measurement with automatic unit conversion.
MeasurementUnit
Base abstract class for all measurement units in the health connector.
MenstrualFlowDataType
Menstrual flow data type.
MenstrualFlowInstantDataType
Menstrual flow instant data type (Android only).
MenstrualFlowInstantRecord
Represents a menstrual flow measurement at a specific point in time.
MenstrualFlowRecord
Represents a menstrual flow measurement over a time interval.
MenstruationPeriodDataType
Represents the Menstruation Period health data type.
MenstruationPeriodRecord
Represents a menstruation period record spanning a time interval.
MindfulnessSessionDataType
Mindfulness session data type.
MindfulnessSessionRecord
Represents a mindfulness session over a time interval.
MoveTimeDataType
Apple Move Time data type.
MoveTimeRecord
Represents an Apple Move Time measurement over a time interval.
Number
Represents a numeric value without unit conversion.
NumberOfTimesFallenDataType
Number of times fallen data type.
NumberOfTimesFallenRecord
Represents a record of the number of times the user has fallen.
NutrientRecord<U extends MeasurementUnit>
Base class for individual nutrient measurement records.
NutritionDataType
Health data type for nutrition records. Nutrition data type.
NutritionRecord
Represents a comprehensive nutrition record over a time interval.
OvulationTestDataType
Ovulation test data type.
OvulationTestRecord
Represents an ovulation test result at a specific point in time.
OxygenSaturationDataType
Oxygen saturation data type.
OxygenSaturationRecord
Represents an oxygen saturation (SpO₂) measurement at a specific point in time.
PaddleSportsDistanceDataType
Paddle sports distance data type.
PaddleSportsDistanceRecord
Represents paddle sports distance over a time interval.
PeakExpiratoryFlowRateDataType
Peak expiratory flow rate data type.
PeakExpiratoryFlowRateRecord
Represents a Peak Expiratory Flow Rate (PEFR) measurement.
Percentage
Represents a percentage value with automatic unit conversion.
PeripheralPerfusionIndexDataType
Peripheral perfusion index data type.
PeripheralPerfusionIndexRecord
Represents a peripheral perfusion index record.
PersistentIntermenstrualBleedingEventDataType
Represents the persistent intermenstrual bleeding event data type.
PersistentIntermenstrualBleedingEventRecord
Represents a persistent intermenstrual bleeding event record.
Power
Represents a power measurement with automatic unit conversion.
PowerSample
A single power measurement within a PowerSeriesRecord.
PowerSeriesDataType
Health data type for power information.
PowerSeriesRecord
Represents a power measurement over a time interval.
PregnancyDataType
Pregnancy data type.
PregnancyRecord
A record capturing the pregnancy period.
PregnancyTestDataType
Pregnancy test data type.
PregnancyTestRecord
Represents a pregnancy test result at a specific point in time.
Pressure
Represents a pressure measurement with automatic unit conversion.
ProgesteroneTestDataType
Progesterone test data type.
ProgesteroneTestRecord
Represents a progesterone test result at a specific point in time.
ProlongedMenstrualPeriodEventDataType
Represents the prolonged menstrual period event data type.
ProlongedMenstrualPeriodEventRecord
Represents a prolonged menstrual period event record.
RespiratoryRateDataType
Respiratory rate data type.
RespiratoryRateRecord
Represents a respiratory rate measurement at a specific point in time.
RestingHeartRateDataType
Health data type for resting heart rate information.
RestingHeartRateRecord
Represents a resting heart rate measurement at a specific point in time.
RowingDistanceDataType
Rowing distance data type.
RowingDistanceRecord
Represents rowing distance over a time interval.
RunningGroundContactTimeDataType
Running Ground Contact Time data type.
RunningGroundContactTimeRecord
Represents a Running Ground Contact Time measurement over a time interval.
RunningPowerDataType
Represents the running power health data type.
RunningPowerRecord
Represents a running power measurement at a specific point in time.
RunningSpeedDataType
Running speed data type.
RunningSpeedRecord
Represents a running speed measurement at a specific point in time.
RunningStrideLengthDataType
Running Stride Length data type.
RunningStrideLengthRecord
Represents a Running Stride Length measurement over a time interval.
SeriesHealthRecord<T>
Base health record class containing multiple data samples within a time interval.
SexualActivityDataType
Sexual activity data type.
SexualActivityRecord
Represents a sexual activity occurrence.
SixMinuteWalkTestDistanceDataType
Six-minute walk test distance data type.
SixMinuteWalkTestDistanceRecord
Represents six-minute walk test distance.
SkatingSportsDistanceDataType
Skating sports distance data type.
SkatingSportsDistanceRecord
Represents skating sports distance over a time interval.
SkinTemperatureDeltaSample
Represents a single skin temperature delta measurement at a specific point in time.
SkinTemperatureDeltaSeriesDataType
Represents the Skin Temperature health data type.
SkinTemperatureDeltaSeriesRecord
Represents a series of skin temperature delta measurements over a time interval.
SleepingWristTemperatureDataType
Sleeping wrist temperature data type.
SleepingWristTemperatureRecord
Represents a sleeping wrist temperature measurement over a time interval.
SleepSessionDataType
Sleep session data type.
SleepSessionRecord
Represents a complete sleep session.
SleepStageDataType
Sleep stage data type.
SleepStageRecord
Represents a single sleep stage measurement.
SleepStageSample
Represents a single sleep stage period with time range.
SpeedActivityDataType<R extends SpeedActivityRecord>
Base class for activity-specific speed health data types.
SpeedActivityRecord
Base class for activity-specific speed records.
SpeedSample
A single speed measurement within a SpeedSeriesRecord.
SpeedSeriesDataType
Health data type for speed information.
SpeedSeriesRecord
Represents a speed measurement over a time interval.
StairAscentSpeedDataType
Stair ascent speed data type.
StairAscentSpeedRecord
Represents a stair ascent speed measurement at a specific point in time.
StairDescentSpeedDataType
Stair descent speed data type.
StairDescentSpeedRecord
Represents a stair descent speed measurement at a specific point in time.
StandTimeDataType
Apple Stand Time data type.
StandTimeRecord
Represents an Apple Stand Time measurement over a time interval.
StepsCadenceSample
Represents a single steps cadence sample at a specific point in time.
StepsCadenceSeriesDataType
Steps cadence series data type.
StepsCadenceSeriesRecord
Represents a series of steps cadence samples.
StepsDataType
Step count data type.
StepsRecord
Represents a step count record over a time interval.
SwimmingDistanceDataType
Swimming distance data type.
SwimmingDistanceRecord
Represents swimming distance over a time interval.
SwimmingStrokesDataType
Swimming strokes count data type.
SwimmingStrokesRecord
Represents a swimming stroke count record over a time interval.
SystolicBloodPressureDataType
Systolic blood pressure data type.
SystolicBloodPressureRecord
Represents a systolic blood pressure measurement at a specific point in time.
Temperature
Represents a temperature measurement with automatic unit conversion.
TimeDuration
Represents a duration measurement with automatic unit conversion.
TotalEnergyBurnedDataType
Represents the Total Calories Burned health data type.
TotalEnergyBurnedRecord
Represents the total energy burned over a time interval.
Velocity
Represents a velocity (speed) measurement with automatic unit conversion.
Vo2MaxDataType
VO₂ max data type.
Vo2MaxRecord
Represents a VO₂ max (maximal oxygen uptake) measurement at a specific point in time.
Volume
Represents a volume measurement with automatic unit conversion.
WaistCircumferenceDataType
Waist circumference data type.
WaistCircumferenceRecord
Represents a waist circumference measurement at a specific point in time.
WalkingAsymmetryPercentageDataType
Walking Asymmetry Percentage data type.
WalkingAsymmetryPercentageRecord
Represents a Walking Asymmetry Percentage measurement over a time interval.
WalkingDoubleSupportPercentageDataType
Walking Double Support Percentage data type.
WalkingDoubleSupportPercentageRecord
Represents a Walking Double Support Percentage measurement over a time interval.
WalkingHeartRateAverageDataType
Walking heart rate average data type.
WalkingHeartRateAverageRecord
Represents a user's average heart rate while walking over a time interval.
WalkingRunningDistanceDataType
Walking and running distance data type.
WalkingRunningDistanceRecord
Represents walking/running distance over a time interval.
WalkingSpeedDataType
Walking speed data type.
WalkingSpeedRecord
Represents a walking speed measurement at a specific point in time.
WalkingSteadinessDataType
Apple Walking Steadiness data type.
WalkingSteadinessEventDataType
Walking Steadiness Event data type.
WalkingSteadinessEventRecord
Walking Steadiness Event record.
WalkingSteadinessRecord
Represents an Apple Walking Steadiness measurement over a time interval.
WalkingStepLengthDataType
Walking Step Length data type.
WalkingStepLengthRecord
Represents a Walking Step Length measurement over a time interval.
WeightDataType
Body weight data type.
WeightRecord
Represents a body weight measurement at a specific point in time.
WheelchairDistanceDataType
Wheelchair distance data type.
WheelchairDistanceRecord
Represents wheelchair distance over a time interval.
WheelchairPushesDataType
Wheelchair pushes data type.
WheelchairPushesRecord
Represents wheelchair pushes over a time interval.

Extensions

ExerciseTypeExtension on ExerciseType
Extension on ExerciseType that provides static getters for platform-specific supported exercise types.

Enums

ActivityIntensityType
Activity intensity classification.
BasalBodyTemperatureMeasurementLocation
Represents the measurement location for a basal body temperature reading.
BloodGlucoseRelationToMeal
Represents the relationship of a blood glucose measurement to a meal.
BloodGlucoseSpecimenSource
Represents the source of the biological specimen used for the measurement.
BloodPressureBodyPosition
Represents the body position during a blood pressure measurement.
BloodPressureMeasurementLocation
Represents the measurement location for a blood pressure reading.
CervicalMucusAppearance
Cervical mucus appearance types.
ContraceptiveType
Represents different types of contraceptive methods.
DevicePlacementSide
Defines the placement side of a device used for health measurements.
ExerciseSegmentType
Types of exercise segments within an exercise session.
ExerciseSessionStateTransitionType
Types of exercise state transitions.
ExerciseType
Represents different types of physical exercises.
HealthDataTypeCategory
Categories for organizing health data types.
InsulinDeliveryReason
Represents the reason for insulin delivery.
MealType
Meal type classification for nutrition and blood glucose records.
MenstrualFlow
Represents the intensity of menstrual flow.
MindfulnessSessionType
Type of mindfulness session.
OvulationTestResult
Represents the result of an ovulation test.
PregnancyTestResult
Represents the result of a pregnancy test.
ProgesteroneTestResult
Represents the result of a progesterone test.
SexualActivityProtectionUsed
Represents whether protection was used during sexual activity.
SkinTemperatureMeasurementLocation
Represents the measurement location for a skin temperature reading.
SleepStage
Represents the different types of sleep stages.
Vo2MaxTestType
Represents the test type or measurement method used to determine VO₂ max.